home *** CD-ROM | disk | FTP | other *** search
/ Gold Medal Software 1 / Gold Medal Software Volume 1 (Gold Medal) (1994).iso / prog / tpwprog7.arj / USTR.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1992-07-02  |  1.4 KB  |  56 lines

  1. { ustr.pas -- String routines for StrDLL }
  2.  
  3. unit UStr;
  4.  
  5. interface
  6.  
  7. uses Wintypes, WinProcs, Strings;
  8.  
  9. function StrNCopy(Source: String; var P: PChar): PChar; export;
  10. function StrTok(var Next: PChar; P: PChar; C: Char): PChar; export;
  11. procedure StrFill(P: PChar; C: Char; Size: Word); export;
  12.  
  13. implementation
  14.  
  15. {- Copy Source string to heap. Return addr in P & fn result }
  16. function StrNCopy(Source: String; var P: PChar): PChar;
  17. begin
  18.   GetMem(P, Length(Source) + 1);
  19.   if P <> nil then StrPCopy(P, Source);
  20.   StrNCopy := P
  21. end;
  22.  
  23. {- Return pointer to next token in P or previous P if P = nil }
  24. {  Set Next to nil on first call; P to nil on subsequent calls }
  25. function StrTok(var Next: PChar; P: PChar; C: Char): PChar;
  26. begin
  27.   if P = nil then P := Next;
  28.   Next := StrScan(P, C);
  29.   if Next <> nil then
  30.   begin
  31.     Next^ := #0;
  32.     Next := @Next[1]
  33.   end;
  34.   StrTok := P
  35. end;
  36.  
  37. { Fill string at P with chars C. Size = size of P^ in bytes }
  38. procedure StrFill(P: PChar; C: Char; Size: Word);
  39. begin
  40.   if (P <> nil) and (Size > 0) then
  41.   begin
  42.     Dec(Size);
  43.     if Size > 0 then
  44.       FillChar(P^, Size, C);
  45.     P[Size] := #0
  46.   end
  47. end;
  48.  
  49. end.
  50.  
  51.  
  52. {--------------------------------------------------------------
  53.   Copyright (c) 1991 by Tom Swan. All rights reserved.
  54.   Revision 1.00    Date: 5/25/1991
  55. ---------------------------------------------------------------}
  56.